#ifndef _AUTO_NV_H
#define _AUTO_NV_H


void InitAutoNV(void);
void AutoNV(void);


typedef struct 
{
  
  BOOL    DisableAutoSteering;
  BOOL    DisableAutoSpeed;
  FIXED_7_8 SteeringCtrlGain;
  FIXED_7_8 SpeedCtrlGain;
  FIXED_7_8 MaxDriveSpeed;
  FIXED_7_8 SteeringIntegralGain;
  FIXED_7_8 SteeringDifferentialGain;
  BYTE    CentroidFilterLength;
  BYTE    MinAllowableIRSignalStrength;
  BYTE    MaxAllowableSignalFloor;
  BYTE    IRFaultTickLimit;
  
}AutoNVParameters;


typedef struct 
{
  
  BYTE      AutoNVState;
  FIXED_7_8 IRCentroid;
  FIXED_7_8 IRCentroidFiltered;
  FIXED_7_8 IRCentroidDerivative;
  FIXED_7_8 CommandedSteering;
  FIXED_7_8 CommandedDrive;
  
}AutoNVStateVariables;


extern AutoNVParameters MyAutoNVParameters;
extern AutoNVStateVariables MyAutoNVStateVariables;


extern BYTE CentroidFilterIndex;
#endif